//
//  XXWeakMutableArray.h
//  dyss_v2
//
//  Created by LXF on 16/3/2.
//  Copyright © 2016年 First Facility. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface WeakRefNode<__covariant ObjectType> : NSObject

@property (nonatomic, weak) ObjectType value;

-(BOOL)isNil;

+(instancetype)node:(ObjectType)anObject;

@end

@interface NSMutableSet<ObjectType>(XXWeakMutableSet)

-(void)xx_clearNilValue;

-(id)xx_anyObject;

-(void)xx_addObject:(id)anObject;

- (void)xx_insertObject:(id)anObject;

-(void)xx_removeObject:(id)object;
-(void)xx_addObjectsFromArray:(NSArray *)otherArray;

-(void)xx_enumerateObjectsUsingBlock:(void (^)(ObjectType obj, BOOL * stop))block;

@end